package com.koron.plan.web.repairplan.notified;

import com.koron.plan.config.Constants;
import com.koron.plan.web.repairplan.bean.vo.PlanPackageVO;
import org.koron.ebs.mybatis.SessionFactory;
import org.springframework.stereotype.Component;

/**
 * @author twcao
 * @title: RepairPlanAuditFinish
 * @projectName GDH_EAM_V2
 * @description: 工作流审核完成后的操作
 * @date 2021/9/2317:34
 */
@Component
public class RepairPlanAuditFinish implements RepairPlanNotify<PlanPackageVO> {

    /**
     * 保存之后
     * @param factory 会话
     * @param vo 实体
     * @return 是否成功
     */
    @Override
    public boolean saveAfter(SessionFactory factory, PlanPackageVO vo) {
        return true;
    }

    @Override
    public int getOrder() {
        return 3;
    }

    /**
     * 过滤通知对象, 返回true，才会调用initializeBefore、saveBefore、saveAfter
     * @param factory 会话
     * @param vo 实体
     * @return 返回符合条件的对象
     */
    @Override
    public boolean filter(SessionFactory factory, PlanPackageVO vo) {
        // 已审核状态
        return Constants.REPAIR_PACKAGE_STATE.AUDITED.equals(vo.getStatus());
    }
}
